Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Oct 2011 08:59:48 -0700
From:      perryh@pluto.rain.com
To:        freebsd@jdc.parodius.com
Cc:        freebsd-stable@freebsd.org
Subject:   Re: 8.1 xl + dual-speed Netgear hub = yoyo
Message-ID:  <4ea2e874.XnQpdCknhYCB39Py%perryh@pluto.rain.com>
In-Reply-To: <20111022052952.GA2371@icarus.home.lan>
References:  <4ea18916.IBAr0lF5RCzEYn6G%perryh@pluto.rain.com> <4EA12D26.4020104@my.gd> <4ea2b29c.QmX94UmzdHW1HSBe%perryh@pluto.rain.com> <20111022052952.GA2371@icarus.home.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
Jeremy Chadwick <freebsd@jdc.parodius.com> wrote:

> 1) I think you misunderstand what product it is you own.  You have
> a hub, not a switch.  This is confirmed by the fact that auto-neg
> chooses to negotiate half-duplex.  Instead, you went later and
> messed about trying to force full-duplex, which isn't going to
> work on a hub.  The fact you even tried it has many implications.

Just one implication, really:  I tried "everything".  I know
that some gear from this era did not autonegotiate speed/duplex
correctly, so when the autonegotiated configuration didn't work
I tried both explicit duplex settings at 100Mb.  (I don't _need_
full-duplex, but tried it for completeness.)

> If you want full-duplex, you need an actual switch.  Netgear
> refers to "hubs" as actual hubs, and "switches" as actual
> switches.  Do you know the difference?

Yep, including the fact that a true hub can't do speed translation
because it doesn't buffer the entire packet -- it retransmits each
bit as received.  This device -- despite being called a hub -- has
to contain at least one packet worth of buffering so that it can
retransmit a packet received at one speed to the ports that are
operating at the other speed.

I also know, from direct experience with attempting to sniff traffic
(via tcpdump, wireshark, etc.), that this model of so-called hub
does _not_ unconditionally retransmit everything received from one
port to all of the other ports, even if all are operating at the
same speed.  It seems to be some kind of hub-switch hybrid.

> This is the first time I have ever seen a hub in use in almost
> 10 years.

Most of the gear here is in the museum category.  The mail server
is a Sun-3/60 that is over 20 years old.  It ain't broke.  (That's
why there's a 10Mb hub, whose AUI uplink is connected to a 10Base-2
transceiver.)  One of FreeBSD's advantages is that it tends to run
well on old hardware.

> 2) There is no guarantee your NIC is fully compatible
> (negotiation-wise) with the hub.  Vendor interoperability problems
> were extremely common "back in the day" (you're using a 3Com NIC
> from the mid-to-late 90s ...

Yep, see comment re #1.  However, if it were a negotiation problem,
I would have expected hard-setting the NIC to 100 to have fixed it;
the hub was showing that port as operating at 100.  (BTW this model
of hub is about as old as the NIC.)

> You can either replace the NIC with something else, or replace the
> hub.  IMHO, I would replace both.

I can replace the hub easily enough -- I have a 100-only Netgear
that _is_ a true hub (has been used successfully for sniffing) --
although I suppose being the same brand and about the same age it
may have a similar compatibility problem :(

Replacing the NIC is a bit more of a problem, because it's built
onto the mainboard.  I do have some Intel NICs, and I _think_ the
box has an unused slot.

> 5) The xl(4) driver is extremely old and basically is not maintained
> any longer.  I would not be surprised if this was a driver bug.

It had occurred to me that there might be a driver problem -- that
was one reason for posting -- although all I found with Google was a
watchdog reset problem that was fixed long enough ago that the fix
surely would have been in 8.1.  However if the driver is no longer
maintained, and swapping out the hub doesn't fix it, it seems I may
be reduced to playing musical NICs.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4ea2e874.XnQpdCknhYCB39Py%perryh>